﻿#include "thuvien.h"
bool kt_mo(int i,int j,int mtcover[][MAX]); 
bool kt_toado(int i,int j,int m,int n);
void loang(int i, int j, game &bom) //Hàm mở các ô xung quanh khi chọn trúng ô 0
{
	if (kt_toado(i,j,bom.m,bom.n)) //kiểm tra tính hợp lệ của tọa độ
	{
	if (bom.mtcover[i][j]==0) //nếu ô đã mở =0 thì tiến hành loang 8 ô xung quanh
		for (int k=i-1;k<=i+1;k++)
			for (int l=j-1;l<=j+1;l++)
			{
				bom.mtcover[k][l]=bom.mt[k][l];	
			}
	for (int k=i-1;k<=i+1;k++)
			for (int l=j-1;l<=j+1;l++)
			{
				if (bom.mtcover[k][l]==0&&kt_mo(k,l,bom.mtcover)==false)
					loang(k,l,bom);
			}	
	}
}
bool kt_mo(int i,int j,int mtcover[][MAX]) //hàm kiểm tra 8 ô xung quanh đã được mở hết chưa: true = đã mở hết
{
	bool kt=true;
	for (int k=i-1;k<=i+1;k++)
		for (int l=j-1;l<=j+1;l++)
		{
			if (mtcover[k][l]==88) return kt=false;
			//if (mt[k][l]==-1) return kt=true;
		}
	return kt;
}

bool kt_toado(int i,int j,int m,int n) //Hàm kiểm tra tọa độ ô có hợp lệ hay không
{
	if (i<0||j<0||j>=m||i>=n) return false;
	else return true;
}